package cn.fl.project.prjfile.transform;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.BeanUtils;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.prjfile.dto.PrjFilesRecDTO;
import cn.fl.project.prjfile.vo.PrjFilesRecVO;

 /**
 * @Description: 
 * @Description: PRJ_FILES_REC项目补充资料表  转换器
 * @Description: 服务层与展现层转换类
 * @Description: 所有的PO只能在持久成和服务层使用
 * @Description: 所有的DTO只能在展现层和服务层使用
 * @Description: 在服务层中向下是DTO转PO,向上是PO转DTO
 */
public class PrjFilesRecVOTransform {


	/**
	 * PO 转  DTO
	 * @param po PrjFilesRec
	 * @return PrjFilesRecDTO
	 */
	public static PrjFilesRecDTO toDTO(PrjFilesRecVO vo) {
		PrjFilesRecDTO  dto = null;
		if (vo != null) {
		dto = new PrjFilesRecDTO();
		BeanUtils.copyProperties(vo, dto);
//		dto.setId(vo.getId());
//		dto.setPrjId(vo.getPrjId());//项目
//		dto.setCstId(vo.getCstId());//客户
//		dto.setPayPrdDtlId(vo.getPayPrdDtlId());//设备id
//		dto.setPkId(vo.getPkId());//数据主键ID
//		dto.setTabNm(vo.getTabNm());//数据表名
//		dto.setPInstId(vo.getPInstId());//流程实例ID
//		dto.setRem(vo.getRem());//FILE_REM
//		dto.setSysCd(vo.getSysCd());//系统代码
//		dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）
//		
//		dto.setOrgCd(vo.getOrgCd());//组织架构代码
//		dto.setCfgCd(vo.getCfgCd());//配置编号
//		dto.setCfgDtlCd(vo.getCfgDtlCd());//配置子编号
//		dto.setStsCd(vo.getStsCd());
//		dto.setCrtTm(vo.getCrtTm());//创建时间
//		dto.setCrtUsrId(vo.getCrtUsrId());//创建人
//		dto.setMdfTm(vo.getMdfTm());//修改时间
//		dto.setMdfUsrId(vo.getMdfUsrId());//修改人
//		
//		dto.setPrjNm(vo.getPrjNm());//项目名称
//		dto.setCstNm(vo.getCstNm());//客户名称
//		dto.setCstMgrNm(vo.getCstMgrNm());//客户经理
//		dto.setCstMgrOrgCd(vo.getCstMgrOrgCd());//客户经理所属机构
//		dto.setBuOrgCd(vo.getBuOrgCd());//机构
//		dto.setLsCntNo(vo.getLsCntNo());//合同号
//		dto.setPaySchNo(vo.getPaySchNo());//支付表号
//		dto.setBuOrgCdNm(vo.getBuOrgCdNm());//机构名称
//		dto.setPrOrgCdNm(vo.getPrOrgCdNm());//省公司
//		dto.setCyOrgCdNm(vo.getCyOrgCdNm());//分公司
//		dto.setStsCdNm(vo.getStsCdNm());
		}
		return dto;
	}

	/**
	 * DTO 转  vo
	 * @param dto PrjFilesRecDTO
	 * @return PrjFilesRec
	 */
	public static PrjFilesRecVO toVO(PrjFilesRecDTO dto) {
		PrjFilesRecVO vo = null;
		if (dto != null) {
			vo = new PrjFilesRecVO();
			BeanUtils.copyProperties(dto, vo);
//			vo.setId(dto.getId());
//			vo.setPrjId(dto.getPrjId());//项目
//			vo.setCstId(dto.getCstId());//客户
//			vo.setPayPrdDtlId(dto.getPayPrdDtlId());//设备id
//			vo.setPkId(dto.getPkId());//数据主键ID
//			vo.setTabNm(dto.getTabNm());//数据表名
//			vo.setPInstId(dto.getPInstId());//流程实例ID
//			vo.setRem(dto.getRem());//FILE_REM
//			vo.setSysCd(dto.getSysCd());//系统代码
//			vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）
//			vo.setStsCd(dto.getStsCd());
//			vo.setOrgCd(dto.getOrgCd());//组织架构代码
//			vo.setCfgCd(dto.getCfgCd());//配置编号
//			vo.setCfgDtlCd(dto.getCfgDtlCd());//配置子编号
//			vo.setCrtTm(dto.getCrtTm());//创建时间
//			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
//			vo.setMdfTm(dto.getMdfTm());//修改时间
//			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
//			
//			vo.setPrjNm(dto.getPrjNm());//项目名称
//			vo.setCstNm(dto.getCstNm());//客户名称
//			vo.setCstMgrNm(dto.getCstMgrNm());//客户经理
//			vo.setCstMgrOrgCd(dto.getCstMgrOrgCd());//客户经理所属机构
//			vo.setBuOrgCd(dto.getBuOrgCd());//机构
//			vo.setLsCntNo(dto.getLsCntNo());//合同号
//			vo.setPaySchNo(dto.getPaySchNo());//支付表号
//			vo.setBuOrgCdNm(dto.getBuOrgCdNm());//机构名称
//			vo.setPrOrgCdNm(dto.getPrOrgCdNm());//省公司
//			vo.setCyOrgCdNm(dto.getCyOrgCdNm());//分公司
//			vo.setStsCdNm(dto.getStsCdNm());
			}
		return vo;
	}
	
	/**
	 * vO集合 转 DTO集合
	 * @param list List<PrjFilesRec>
	 * @return List<PrjFilesRecDTO>
	 */
	public static List<PrjFilesRecDTO> toDTOList(List<PrjFilesRecVO> list) {
		List<PrjFilesRecDTO>  voList = new ArrayList<PrjFilesRecDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjFilesRecVO po : list) {
				voList.add(toDTO(po));
			}
		}
		return voList;
	}

	 /**
	  * DTO集合 转 PO集合
	  * @param list List<PrjFilesRecDTO>
	  * @return List<PrjFilesRec>
	  */
	 public static List<PrjFilesRecVO> toVOList(List<PrjFilesRecDTO> list) {
		 List<PrjFilesRecVO>  voList = new ArrayList<PrjFilesRecVO>();
		 if(CollectionUtils.isNotEmpty(list)){
			 for (PrjFilesRecDTO dto : list) {
				 voList.add(toVO(dto));
			 }
		 }
		 return voList;
	 }
}
